package com.xique.park.bean.dto;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.xique.park.bean.transform.web.records.PaymentStatusConverter;
import com.xique.park.bean.transform.web.records.SettlementTypeConverter;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 结算记录导出DTO
 *
 * @author WLD
 */
@Data
@ColumnWidth(40)
public class ParkSettlementRecordExportDto {

    @ExcelProperty("项目名称")
    private String parkName;

    @ExcelProperty("结算日期")
    private String settlementDate;

    /**
     * 结算类型
     * <p>
     * 01：退款
     * 02：支付
     */
    @ExcelProperty(value = "结算类型", converter = SettlementTypeConverter.class)
    private String settlementType;

    @ExcelProperty("订单笔数")
    private int orderCount;

    @ExcelProperty("订单金额（元）")
    private BigDecimal orderAmount;

    @ExcelProperty("支付金额（元）")
    private BigDecimal payAmount;

    @ExcelProperty("手续费（元）")
    private BigDecimal serviceCharge;

    @ExcelProperty("应结算金额（元）")
    private BigDecimal settlementAmount;

    /**
     * 打款状态
     * <p>
     * 1:未结算（未获取到当日结算数据）
     * 2:结算成功 （所有订单都结算成功）
     * 3:结算异常 （>=一笔订单结算非成功）
     */
    @ExcelProperty(value = "打款状态", converter = PaymentStatusConverter.class)
    private Integer paymentStatus;

    @ExcelProperty("打款金额（元）")
    private BigDecimal paymentAmount;
}
